package com.example.chatweb.controller;

import com.alibaba.fastjson.JSONObject;
import com.example.chatweb.utils.HttpUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * <h3>chat-web</h3>
 *
 * @author HuangJiayu
 * @description <p>RAG服务转发</p>
 * @date 2024-06-17 13:20
 **/
@RestController
@Slf4j
public class RAGController {
	
	@Autowired
	private HttpUtil httpUtil;
	
	// 方便统一拼接
	private final String prefixUrl = "http://172.21.50.190:8017";//172.21.50.190
	
	@PostMapping("/rag_query")
	public JSONObject ragQuery(@RequestBody JSONObject jsonObject) {
		// TODO: 填写具体的接口，检查一下上面端口号8017是否有问题
		String url = prefixUrl + "/api/query_Intime_chunks";
		try {
			//	具体执行的函数
			return httpUtil.post(url, jsonObject);
		} catch (Exception e) {
			log.error("RAG查询服务调用失败", e);
			JSONObject error = new JSONObject();
			//	TODO: 返回错误时返回值信息
			error.put("msg", "RAG查询服务调用失败");
			return error;
		}
	}
	@PostMapping("/rag_generate")
	public JSONObject ragGnerate(@RequestBody JSONObject jsonObject) {
		// TODO: 填写具体的接口，检查一下上面端口号8017是否有问题
		String url = prefixUrl + "/api/query_resultBychunks";
		try {
			//	具体执行的函数
			return httpUtil.post(url, jsonObject);
		} catch (Exception e) {
			log.error("RAG生成服务调用失败", e);
			JSONObject error = new JSONObject();
			//	TODO: 返回错误时返回值信息
			error.put("msg", "RAG生成服务调用失败");
			return error;
		}
	}
	
}
